/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package administracion.delegate;

import administracion.propiedades.Propiedades;
import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.mail.MessagingException;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperPrint;
import suministros.ejb30.TO.*;
import suministros.ejb30.entity.Alertas;
import suministros.ejb30.entity.ComprobantePago;
import suministros.ejb30.entity.DetalleMovimiento;
import suministros.ejb30.entity.DetallePedidoSuministro;
import suministros.ejb30.entity.DetalleSolicitudCotizacion;
import suministros.ejb30.entity.Direccionnopersona;
import suministros.ejb30.entity.Encargo;
import suministros.ejb30.entity.Impuesto;
import suministros.ejb30.entity.Movimiento;
import suministros.ejb30.entity.Orden;
import suministros.ejb30.entity.Parametros;
import suministros.ejb30.entity.Pedido;
import suministros.ejb30.entity.Proveedor;
import suministros.ejb30.TO.SubAlmacenTO;
import suministros.ejb30.entity.CasillaSuministro;
import suministros.ejb30.entity.DetalleLicitacion;
import suministros.ejb30.entity.DetalleLicitacionActividad;
import suministros.ejb30.entity.DetalleMovimientoTemporal;
import suministros.ejb30.entity.DetalleOrden;
import suministros.ejb30.entity.DetallePedidoSuministroPK;
import suministros.ejb30.entity.DetalleTransferencia;
import suministros.ejb30.entity.Empresa;
import suministros.ejb30.entity.GrupoSuministros;
import suministros.ejb30.entity.Inventario;
import suministros.ejb30.entity.Licitacion;
import suministros.ejb30.entity.SolicitudCotizacion;
import suministros.ejb30.entity.StockAlmacen;
import suministros.ejb30.entity.Suministros;
import suministros.ejb30.entity.Tipo;
import suministros.ejb30.entity.Transferencia;
import suministros.ejb30.entity.UnidadOrganizativa;
import suministros.ejb30.facade.SumiAdministracionGestionFacadeRemote;
import suministros.ejb30.helper.EmailVacioException;
import suministros.ejb30.TO.TipoTablaTO;
import suministros.ejb30.entity.AuxiliarCargarAsistenciaDiaria;
import suministros.ejb30.entity.CosteoDiario;
import suministros.ejb30.entity.DetallePlantillaImpuesto;
import suministros.ejb30.entity.ElementoCosto;
import suministros.ejb30.entity.ProveedorSuministro;
import suministros.ejb30.entity.TipoCambioDiario;

/**
 *
 * @author Renato
 */
public class GestionPedidosDelegate {

    private static GestionPedidosDelegate gestionDelegate;
    private SumiAdministracionGestionFacadeRemote gestionFacade;

    private GestionPedidosDelegate()
            throws Exception {
        try {
            Properties propSistema = Propiedades.leePropPrincipal();
            Properties env = new Properties();

            env.setProperty("org.omg.CORBA.ORBInitialHost", propSistema.getProperty("servidor.ip"));
            env.setProperty("org.omg.CORBA.ORBInitialPort", propSistema.getProperty("servidor.puerto"));
            InitialContext ctx = new InitialContext(env);
            this.gestionFacade = ((SumiAdministracionGestionFacadeRemote) ctx.lookup("suministros.ejb30.facade.SumiAdministracionGestionFacadeRemote"));
        } catch (Exception e) {
            throw e;
        }
    }

    public static GestionPedidosDelegate getInstance() throws Exception {
        if (gestionDelegate == null) {
            gestionDelegate = new GestionPedidosDelegate();
        }
        return gestionDelegate;
    }

    public List<ZonaTO> getListaZonas() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaZonas();
    }

    public List<LocalidadTO> getListaLocalidades() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaLocalidades();
    }

    public List<LocalidadTO> getListaLocalidadesZona(String idZona) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaLocalidadesZona(idZona);
    }

    public List<UnidadOrganizativaTO> getListaUnidOrganizativas() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaUnidOrganizativas();
    }

    public List<CentroCostoTO> getListaCentroCostos() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaCentroCostos();
    }

    public List<CodPresupuestalTO> getListaCodPresupuestal() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaCodPresupuestal();
    }

    public List<CuentaContableTO> getListaCtaCbles() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaCtaCbles();
    }

    public List<CodigosInversionTO> getListaCodigoInversion() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaCodigoInversion();
    }

    public List<TipoTO> getListaTipos() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaTipos();
    }

    public List<Parametros> getListaParametros() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaParametros();
    }

    public boolean insertarPedido(String usuario, String mac, Pedido pedidoPrinc, List<DetallePedidoSuministro> detalle) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.insertarPedido(usuario, mac, pedidoPrinc, detalle);
    }

    public String insertarPedidoAjusteInventario(String usuario, String mac, Pedido pedidoPrinc, List<DetallePedidoSuministro> detalle) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.insertarPedidoAjusteInventario(usuario, mac, pedidoPrinc, detalle);
    }

    public List<SuministroTO> getListaSuministros() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaSuministros();
    }

    public List<Parametros> getListaParametrosLike(String id) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaParametrosLike(id);
    }

    public List<PedidoTO> getListaPedido(String unid_org, String zona, String ano, String mes, String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaPedidos(unid_org, zona, ano, mes, empresa);
    }

    public List<PedidoTO> getListaPedidoInversion(String cod_proyecto, String zona, String ano, String mes) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaPedidosInversion(cod_proyecto, zona, ano, mes);
    }

    public List<PedidoTO> getListaPedido(String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaPedidos(empresa);
    }

    public List<DetallePedidoSuministroTO> getListaDetallePedido(String cod_pedido) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaDetallePedido(cod_pedido);
    }

    public List<AnoTO> getListaAnos() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaAnos();
    }

    public List<MesTO> getListaMeses() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaMeses();
    }

    public List<ProyectoTO> getListaProyectos() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaProyectos();
    }

    public List eliminarPedido(String usuario, String mac, String cod_pedido) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.eliminarPedido(usuario, mac, cod_pedido);
    }

    public List<NecesidadesSumiTO> getListaNecesidadesOperativas(String cod_centro_costos, String ano, String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaNecesidadesOperativas(cod_centro_costos, ano, empresa);
    }

    public List<NecesidadesSumiTO> getListaNecesidadesInversion(String cod_proyecto, String ano, String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaNecesidadesInversion(cod_proyecto, ano, empresa);
    }

    public List<NecesidadesSumiDetalleTO> getListaDetalleNecesidadesLocalidadOperativo(String cod_centro_costos, String ano, String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaDetalleNecesidadesLocalidadOperativo(cod_centro_costos, ano, empresa);
    }

    public List<NecesidadesSumiDetalleTO> getListaDetalleNecesidadesLocalidadInversion(String cod_proyecto, String ano, String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaDetalleNecesidadesLocalidadInversion(cod_proyecto, ano, empresa);
    }

    public boolean procesarRequerimientos(String usuario, String mac, List<NecesidadesSumiTO> tareas) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.procesarRequerimientos(usuario, mac, tareas);
    }

    public boolean procesarDetallesRequerimientos(String usuario, String mac, List<NecesidadesSumiDetalleTO> tareas) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.procesaDetalleRequerimientos(usuario, mac, tareas);
    }

    public boolean insertarProveedor(Proveedor pro, Direccionnopersona dir) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.insertarProveedor(pro, dir);
    }

    public boolean modificarProveedor(Proveedor pro, Direccionnopersona dir) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.modificarProveedor(pro, dir);
    }

    public List<DepartamentoTO> listaDepartamentos() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.listaDepartamento();
    }

    public List<ProvinciaTO> listaProvincias(String codigo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.listaProvincia(codigo);
    }

    public List<DistritoTO> listaDistritos(String codigo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.listaDistrito(codigo);
    }

    public List<PaisTO> listaPais() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.listaPais();
    }

    public List<ProveedorTO> listaProveedor() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.listaProveedor();
    }

    public ProveedorTO obtenerDatosProveedor(String codigo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.obtenerDatosProveedor(codigo);
    }

    public boolean eliminarProvedo(String pro) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.eliminarProveedor(pro);
    }

    public String insertarNotaIngreso(String usuario, String mac, Movimiento mov, List<DetalleMovimiento> detalleMovimiento, int codigoTemporal, int tioper) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.insertarNotaIngreso(usuario, mac, mov, detalleMovimiento, codigoTemporal, tioper);

    }

    public OrdenTO obtenerDatosOrden(String codigo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.obtenerDatosOrden(codigo);

    }

    public List<DetalleOrdenTO> obtenerDatosDetalleOrdensumados(String codigo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getDatosDetalleOrdenSumados(codigo);
    }

    public List<DetalleOrdenTO> obtenerDatosDetalleOrden(String codigo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getDatosDetalleOrden(codigo);
    }

    public List<AlmacenTO> getListaAlmacenes() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaAlmacenes();
    }

    public List<SubAlmacenTO> getListaSubAlmacenes() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaSubAlmacenes();
    }

    public List<DetalleOrdenTO> getListaDetallesPedidoOrden(String cod_pedido) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaDetallePedidoOrden(cod_pedido);
    }

    public List<AlmacenTO> getListaAlmacenesPorZona(String cod_zona) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getListaAlmacenesPorZona(cod_zona);
    }

    public List<SubAlmacenTO> getListaSubAlmacenesPorAlmacen(String cod_almacen) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getListaSubAlmacenesPorAlmacen(cod_almacen);
    }

    public List<DetalleIngresoTO> getDatosDetalleIngresoUbicacionSumados(String codigo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getDatosDetalleIngresoUbicacionSumados(codigo);
    }

    public MovimientoTO obtenerMovimiento(String codigo) {

        return this.gestionFacade.obtenerMovimiento(codigo);
    }

    public String insertarOrden(Orden orden, List<DetalleOrden> detalle) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.insertarOrden(orden, detalle);
    }

    public List<PedidoTO> getPedidosPorTipoOrden(List<ZonaTO> zonas_usuario, String id_empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getPedidosPorTipoOrden(zonas_usuario, id_empresa);
    }

    public List<DetallePedidoSuministroTO> getListaDetallesPedidoAll() throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getListaDetallesPedidoAll();
    }

    public List<DetallePedidoSuministroTO> getListaDetallePedidosParaOrden(List<ZonaTO> zonas_usuario, String id_empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getListaDetallePedidosParaOrden(zonas_usuario, id_empresa);
    }

    public List<DetalleOrdenTO> getListaDetallePedidoOrden(DetallePedidoSuministroPK pk_detalle_pedido) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getListaDetallePedidoOrden(pk_detalle_pedido);
    }

    public PedidoTO getDatosPedido(String codigo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getDatosPedido(codigo);
    }
    
    
    
    
    

    public List<DetalleOrdenTO> getListaDetallePedidoSuministroIn(String cod_pedido, int tipo_admin, int tipo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getListaDetallePedidoSuministroIn(cod_pedido, tipo_admin, tipo);
    }

    /* public List<DetallePedidoSuministroTO> getListaDetallePedidoSuministroIn(String cod_pedido) throws Exception {
    / return gestionFacade.getListaDetallePedidoSuministroIn(cod_pedido);
    }*/
    public String insertarSalida(String usuario, String mac, Movimiento mov, List<DetalleMovimiento> listadetalleOr) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.insertarSalida(usuario, mac, mov, listadetalleOr);
    }

    public JasperPrint generarReporte(String reporte, Map parametros) throws SQLException, JRException {
        //TODO Propiedades.escribirHoraAcceso();
        return gestionFacade.generarReporte(reporte, parametros);
    }

    public JasperPrint generarReporteIngreso(String reporte, Map parametros) throws SQLException, JRException {
        //TODO Propiedades.escribirHoraAcceso();
        return gestionFacade.generarReporteIngreso(reporte, parametros);
    }

    public JasperPrint generarReporteSalida(String reporte, Map parametros) throws SQLException, JRException {
        //TODO Propiedades.escribirHoraAcceso();
        return gestionFacade.generarReporteSalida(reporte, parametros);
    }

    public List<PedidoTO> getListaPedidosNoAtendidos(String cod_zona, String id_empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getListaPedidosNoAtendidos(cod_zona, id_empresa);
    }

    public boolean rechazarPedido(String cod_pedido, List<DetallePedidoSuministroTO> detalle) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.rechazarPedido(cod_pedido, detalle);
    }

    public boolean aceptarPedido(String cod_pedido, List<DetallePedidoSuministroTO> detalle) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.aceptarPedido(cod_pedido, detalle);
    }

    public Movimiento obtenerIngreso(String codigo) {
        return gestionFacade.obtenerIngreso(codigo);
    }

    public List<DetalleIngresoTO> getDatosDetalleIngresoUbicacionSumados2(String codigo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getDatosDetalleIngresoUbicacionSumados2(codigo);

    }

    public OrdenTO isExisteOrden(String nro_orden) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.isExisteOrden(nro_orden);
    }

    public Boolean insertarLicitacion(String usuario, String mac, Licitacion lic, List<DetalleLicitacion> detalleLicitacion) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.insertarLicitacion(usuario, mac, lic, detalleLicitacion);
    }

    public boolean insertarComprobanteDeOrden(ComprobantePago comprobante, String cod_orden) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.insertarComprobanteDeOrden(comprobante, cod_orden);
    }

    public List<LicitacionTO> getDatosLicitacionCodigo(String codigo, boolean estado, String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getDatosLicitacionCodigo(codigo, estado, empresa);

    }

    public List<LicitacionTO> getDatosLicitacionAno(String ano, boolean estado, String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getDatosLicitacionAno(ano, estado, empresa);

    }

    public List<LicitacionTO> getDatosLicitacionProveedor(String proveedor, boolean estado, String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getDatosLicitacionProveedor(proveedor, estado, empresa);

    }

    public List<LicitacionTO> getDatosLicitacionProveedorAno(String proveedor, String ano, boolean estado, String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getDatosLicitacionProveedorAno(proveedor, ano, estado, empresa);

    }

    public List<DetalleLicitacionTO> getDatosLicitacionDetalles(String codigo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getDatosLicitacionDetalles(codigo);
    }

    public boolean modificarLicitacion(String usuario, String mac, LicitacionTO lic, List<DetalleLicitacion> detalleLicitacion, List<DetalleLicitacion> detalleLicitacionAgregar, List<DetalleLicitacion> detalleLicitacionEliminar) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.modificarLicitacion(usuario, mac, lic, detalleLicitacion, detalleLicitacionAgregar, detalleLicitacionEliminar);
    }

    public boolean eliminarLicitacion(String codigo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.eliminarLicitacion(codigo);
    }

    public Boolean insertarLicitacionActividad(String usuario, String mac, List<DetalleLicitacionActividad> detalleLicitacion, java.math.BigDecimal montoTotal) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.insertarLicitacionActividad(usuario, mac, detalleLicitacion, montoTotal);
    }

    public boolean verificarActividades(String codigo, String suministro) {
        //TODO Propiedades.escribirHoraAcceso();
        return this.gestionFacade.verificarActividades(codigo, suministro);
    }

    public List<LicitacionSuministroTO> verificarDetallePedidoEnLicitacion(String cod_pedido) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.verificarDetallePedidoEnLicitacion(cod_pedido);
    }

    public void aprobarRequerrimientos(String usuario, String mac, List<NecesidadesSumiDetalleTO> listaGeneral, java.util.List<suministros.ejb30.TO.NecesidadesSumiTO> necesidades) throws Exception {
        Propiedades.escribirHoraAcceso();
        gestionFacade.aprobarRequerrimientos(usuario, mac, listaGeneral, necesidades);
    }

    public List<NecesidadesSumiTO> getListaNecesidadesOperativasAp(String centro_costos, String ano, String empresa, String zona) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaNecesidadesOperativasAp(centro_costos, ano, empresa, zona);
    }

    public List<NecesidadesSumiTO> getListaNecesidadesInversionAp(String cod_proy, String ano, String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaNecesidadesInversionAp(cod_proy, ano, empresa);
    }

    public List<NecesidadesSumiTO> getListaNecesidadesOperativasMod(String centro_costos, String ano, String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaNecesidadesOperativasMod(centro_costos, ano, empresa);
    }

    public List<NecesidadesSumiTO> getListaNecesidadesInversionMod(String cod_proy, String ano, String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaNecesidadesInversionMod(cod_proy, ano, empresa);
    }

    public List<LicitacionSuministroTO> verificarDetallePedidoEnLicitacion(DetallePedidoSuministroPK detalle_pedido) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.verificarDetallePedidoEnLicitacion(detalle_pedido);
    }

    public void enviarEMailSimple(String destino, String asunto, String mensaje) throws NamingException, MessagingException {
        //TODO Propiedades.escribirHoraAcceso();
        gestionFacade.enviarEMailSimple(destino, asunto, mensaje);
    }

    public List<LicitacionActividadTO> getActividadesPorLicitacionEspecifica(String id_licitacion, String id_suministro) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getActividadesPorLicitacionEspecifica(id_licitacion, id_suministro);
    }

    public String insertarTransferencia(String usuario, String mac, List<DetalleTransferencia> detalles, Transferencia tra) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.insertarTransferencia(usuario, mac, detalles, tra);
    }

    public TransferenciaTO getDatosTransferencia(String codigo, int tipo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getDatosTransferencia(codigo, tipo);
    }

    public List<DetalleTransferenciaTO> getDatosDetalleTransferencia(String codigo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getDatosDetalleTransferencia(codigo);
    }

    public String insertarSalidaTran(String usuario, String mac, Movimiento mov, List<DetalleTransferenciaTO> listadetalleOr) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.insertarSalidaTran(usuario, mac, mov, listadetalleOr);
    }

    public List<DetalleSolicitudCotizacionTO> getListaDetallePedidoSuministroSolicitudCotizacion(String cod_pedido) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getListaDetallePedidoSuministroSolicitudCotizacion(cod_pedido);
    }

    public List<IngresoTO> getDatosMovimiento(String codigo, int tipo, int opcion, java.lang.String proy, java.lang.String unid, int tipoIn, java.lang.String empresa, String anio, int mes, int pag, int tamaño) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getDatosMovimiento(codigo, tipo, opcion, proy, unid, tipoIn, empresa, anio, mes, pag, tamaño);
    }

    public String insertarSolicitudCotizacion(SolicitudCotizacion solicitud, List<DetalleSolicitudCotizacion> detalle_solicitud) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.insertarSolicitudCotizacion(solicitud, detalle_solicitud);
    }

    public List<ProveedorTO> buscaSolicitud(String nro_solicitud, String id_empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.buscaSolicitud(nro_solicitud, id_empresa);
    }

    public List<DetalleSolicitudCotizacionTO> getDetallesSolicitud(String ruc_proveedor, String nro_solicitud) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getDetallesSolicitud(ruc_proveedor, nro_solicitud);
    }

    public boolean registrarCotizacion(String ruc_proveedor, String nro_solicitud, List<DetalleSolicitudCotizacionTO> detalles_solicitud, Tipo forma_pago, Tipo impuesto, Tipo moneda) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.registrarCotizacion(ruc_proveedor, nro_solicitud, detalles_solicitud, forma_pago, impuesto, moneda);
    }

    public boolean estableceGanador(List<DetalleSolicitudCotizacionTO> detalle_solicitud, String nro_solicitud, String proveedor) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.estableceGanador(detalle_solicitud, nro_solicitud, proveedor);
    }

    public List<DetalleSolicitudCotizacionTO> getListaDetallePedidoSuministroSolicitudCotizacion(String cod_pedido, String cod_sumi) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getListaDetallePedidoSuministroSolicitudCotizacion(cod_pedido, cod_sumi);
    }

    public List<SolicitudCotizacionTO> getListaCotizacionesAprobadas() throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getListaCotizacionesAprobadas();
    }

    public List<DetalleOrdenTO> getListaDetallesPedidoOrdenCotizacion(String nro_solicitud, String proveedor) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getListaDetallesPedidoOrdenCotizacion(nro_solicitud, proveedor);
    }

    public SolicitudCotizacionTO getSolicitudCotizacion(String nro_solicitud) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getSolicitudCotizacion(nro_solicitud);
    }

    public boolean bajaSolicitud(String nro_solicitud) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.bajaSolicitud(nro_solicitud);
    }

    public List<OrdenTO> consultarOrden(ParametrosConsultaTO parametros, int tipo_orden, int pagActual, int pagTamanno) throws Exception {
        return gestionFacade.consultarOrden(parametros, tipo_orden, pagActual, pagTamanno);
    }

    public List<SuministroStockTO> getStockSuministro(String id_suministro, String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getStockSuministro(id_suministro, empresa);
    }

    public List<ComprobantePagoTO> consultarComprobante(ParametrosConsultaTO parametros, int pagActual, int pagTamanno) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.consultarComprobante(parametros, pagActual, pagTamanno);
    }

    public List<SolicitudCotizacionTO> consultarCotizacion(ParametrosConsultaTO parametros, int pagActual, int pagTamanno) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.consultarCotizacion(parametros, pagActual, pagTamanno);
    }

    public List<DetalleTransferenciaTO> getDatosDetalleTransferenciaStock(String codigo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getDatosDetalleTransferenciaStock(codigo);
    }

    public List<PedidoTO> getPedidosPorTipoOrdenServicio(List<ZonaTO> zonas_usuario) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getPedidosPorTipoOrdenServicio(zonas_usuario);
    }

    public boolean anularOrden(String nro_orden) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.anularOrden(nro_orden);
    }

    public Boolean modificarActividades(String usuario, String mac, List<DetalleLicitacionActividad> detalleActividades, List<DetalleLicitacionActividad> detalleActividadesagregar, BigDecimal montoTotal) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.modificarActividades(usuario, mac, detalleActividades, detalleActividadesagregar, montoTotal);
    }

    public boolean anularLicitacion(String usuario, String mac, String codigo, String documento) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.anularLicitacion(usuario, mac, codigo, documento);
    }

    public BigDecimal verificarDisponibilidadSuministro(String codigo, boolean es_inversion, String loca, String ano, String mes, String id_sumi, String empresa) throws Exception {
        return gestionFacade.verificarDisponibilidadSuministro(codigo, es_inversion, loca, ano, mes, id_sumi, empresa);
    }

    public List<DetalleOrdenTO> getListaDetalleOrden(String nro_orden) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getListaDetalleOrden(nro_orden);
    }

    public boolean modificarOrden(Orden orden, List<DetalleOrden> detalles) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.modificarOrden(orden, detalles);
    }

    public List<EmpresaTO> obtenerEmpresas() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.obtenerEmpresas();
    }

    public SuministroTO getSuministroEmpresa(String codigo, String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getSuministroEmpresa(codigo, empresa);
    }

    public byte[] getComprobanteArchivo(int id_comprobante) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getComprobanteArchivo(id_comprobante);
    }

    public StockAlmacenTO getStockSuministroUbicacion(String codigo, String subalmacen, String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getStockSuministroUbicacion(codigo, subalmacen, empresa);
    }

    public Boolean registrarStockAlmacen(String usuario, String mac, StockAlmacen stock, int estado) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.registrarStockAlmacen(usuario, mac, stock, estado);

    }

    public List<StockAlmacenTO> getStockConsultar(String suministro, String subalmacen, String empresa, int tipo) {
        return this.gestionFacade.getStockConsultar(suministro, subalmacen, empresa, tipo);

    }

    public List<AnoTO> getParametrosKardex() throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getParametrosKardex();
    }

    public boolean insertarAlertas(List<Alertas> alertas) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.insertarAlertas(alertas);
    }

    public boolean insertarEmpresa(Empresa emp) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.insertarEmpresa(emp);
    }

    public byte[] getLogoEmpresa(String id_empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getLogoEmpresa(id_empresa);
    }

    public List<DetalleIngresoTO> getDatosBusquedaSensitivaIngreso(String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getDatosBusquedaSensitivaIngreso(empresa);
    }

    public List<DetalleIngresoTO> getDatosBusquedaSensitivaIngresoInventario(String empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getDatosBusquedaSensitivaIngresoInventario(empresa);
    }

    public List<AlertaTO> obtenerAlertas(java.util.List<suministros.ejb30.TO.EmpresaTO> empresas, java.util.List<suministros.ejb30.TO.ZonaTO> zonas, java.util.List sistemas) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.obtenerAlertas(empresas, zonas, sistemas);
    }

    public boolean actualizarEmpresa(Empresa emp) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.actualizarEmpresa(emp);
    }

    public List<SolicitudCotizacionTO> getListaCotizacionesEnEspera(String id_empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getListaCotizacionesEnEspera(id_empresa);
    }

    public boolean generaDocumentoAEmail(String nro_orden, int tipo, String cod_proveedor) throws EmailVacioException, Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.generaDocumentoAEmail(nro_orden, tipo, cod_proveedor);
    }

    public int obtenerAlertasTamaño(java.util.List<suministros.ejb30.TO.EmpresaTO> empresas, java.util.List<suministros.ejb30.TO.ZonaTO> zonas, java.util.List sistemas) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.obtenerAlertasTamaño(empresas, zonas, sistemas);
    }

    public String iniciarInventario(Inventario inv) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.iniciarInventario(inv);
    }

    public InventarioTO getDatosInventario() throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getDatosInventario();
    }

    public List<DetalleInventarioTO> getListaDetalleInventario(String empresa, String inventario) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.getListaDetalleInventario(empresa, inventario);
    }

    public Boolean registrarStock(List<DetalleInventarioTO> listainv) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.registrarStock(listainv);
    }

    public String insertarSalidaInventario(String usuario, String mac, Movimiento mov, List<DetalleMovimiento> detalleMovimiento, String inventario) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.insertarSalidaInventario(usuario, mac, mov, detalleMovimiento, inventario);
    }

    public String insertarNotaIngresoInventario(String usuario, String mac, Movimiento mov, List<DetalleMovimiento> detalleMovimiento, String inventario) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.insertarNotaIngresoInventario(usuario, mac, mov, detalleMovimiento, inventario);
    }

    public int getNumeroDeOrdenes(ParametrosConsultaTO parametros, int tipo_orden) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getNumeroDeOrdenes(parametros, tipo_orden);
    }

    public int getNumeroDeCotizaciones(ParametrosConsultaTO parametros) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getNumeroDeCotizaciones(parametros);
    }

    public int getNumeroDeComprobantes(ParametrosConsultaTO parametros) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getNumeroDeComprobantes(parametros);
    }

    public Boolean terminarInventario(Inventario inv) throws Exception {
        Propiedades.escribirHoraAcceso();
        return this.gestionFacade.terminarInventario(inv);
    }

    public java.util.List<suministros.ejb30.TO.TransferenciaTO> obtenerCodigos(int tipoConsulta) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.obtenerCodigos(tipoConsulta);
    }

    public List<OrdenTO> getOrdenesSinComprobante(List<ZonaTO> zonas_usuario, String id_empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getOrdenesSinComprobante(zonas_usuario, id_empresa);
    }

    public boolean insertarEncargo(Encargo encargo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.insertarEncargo(encargo);
    }

    public List<EncargoTO> consultarEncargo(ParametrosConsultaTO parametros, int pagActual, int pagTamanno) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.consultarEncargo(parametros, pagActual, pagTamanno);
    }

    public byte[] getEncargoArchivo(int id_encargo) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getEncargoArchivo(id_encargo);
    }

    public int getNumeroDeEncargos(ParametrosConsultaTO parametros) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getNumeroDeEncargos(parametros);
    }

    public List<FlujoPedidoTO> getFlujoPedido(String cod_pedido) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getFlujoPedido(cod_pedido);
    }

    public List<SuministroTO> getDatosSuministroEmpresaRequeridos(String empresa, String zona) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getDatosSuministroEmpresaRequeridos(empresa, zona);
    }

    public Boolean guardarPrecioRequerrimientos(List<SuministroTO> listasuministro) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.guardarPrecioRequerrimientos(listasuministro);
    }

    public Boolean verificarFechasAprobarRequerrimientos() throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.verificarFechasAprobarRequerrimientos();
    }

    public Boolean verificarFechasHacerRequerrimientos() throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.verificarFechasHacerRequerrimientos();
    }

    public List<ReservaSuministroTO> getReservasSuministros(String id_empresa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getReservasSuministros(id_empresa);
    }

    public List<SuministroTO> getDatosServicioEmpresaRequeridos(String empresa, String zona, String ccosto) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getDatosServicioEmpresaRequeridos(empresa, zona, ccosto);
    }

    public Boolean guardarPrecioRequerrimientosServicio(List<SuministroTO> listasuministro, String ccosto) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.guardarPrecioRequerrimientosServicio(listasuministro, ccosto);
    }

    public List<UnidadOrganizativaTO> getListaUnidOrganizativasNecesidad(String anio, String cod_uni_depend) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getListaUnidOrganizativasNecesidad(anio, cod_uni_depend);
    }

    public boolean aprobarRequermientosJefatura(String anio, List<UnidadOrganizativaTO> unidades) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.aprobarRequermientosJefatura(anio, unidades);
    }

    public List<NecesidadesSumiTO> getListaNecesidadesOperativasModZona(String centro_costo, String ano, String empresa, String zona) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.getListaNecesidadesOperativasModZona(centro_costo, ano, empresa, zona);
    }

    public List<UnidadOrganizativaTO> verificarAprobacionDependencias(String unidad_organizativa) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.verificarAprobacionDependencias(unidad_organizativa);
    }

    public String verificaDetalleOrdenEnPresupuesto(List<DetalleOrdenTO> detalle_orden, int mes) throws Exception {
        Propiedades.escribirHoraAcceso();
        return gestionFacade.verificaDetalleOrdenEnPresupuesto(detalle_orden, mes);
    }

    public String insertarSuministro(Suministros sumi) throws Exception {
        return gestionFacade.insertarSuministro(sumi);
    }

    public String insertarGrupoSuministro(GrupoSuministros sumi) throws Exception {
        return gestionFacade.insertarGrupoSuministro(sumi);
    }

    public String administrarSuministro(Suministros sumi) throws Exception {
        return gestionFacade.administrarSuministro(sumi);
    }

    public List<SuministroTO> getListaSuministrosConsultar(String codigo, int tipo, int pagActual, int pagTamanno) throws Exception {
        return gestionFacade.getListaSuministrosConsultar(codigo, tipo, pagActual, pagTamanno);
    }

    public String administrarGrupo(GrupoSuministros grupo) throws Exception {
        return gestionFacade.administrarGrupo(grupo);
    }

    public List<GrupoSuministrosTO> getListaGruposConsultar(String codigo, int tipo, int pagActual, int pagTamanno) throws Exception {
        return gestionFacade.getListaGruposConsultar(codigo, tipo, pagActual, pagTamanno);
    }

    public int getListaGruposConsultarTamaño(String codigo, int tipo) throws Exception {
        return gestionFacade.getListaGruposConsultarTamaño(codigo, tipo);
    }

    public int getListaSuministrosConsultarTamaño(String codigo, int tipo) throws Exception {
        return gestionFacade.getListaSuministrosConsultarTamaño(codigo, tipo);
    }

    public List<SuministroTO> getSuministroAdministrar(String codigo) throws Exception {
        return this.gestionFacade.getSuministroAdministrar(codigo);
    }

    public List<GrupoSuministrosTO> getListaGrupoSuministrosAdministrar(String codigo) throws Exception {
        return gestionFacade.getListaGrupoSuministrosAdministrar(codigo);
    }

    public List<CasillaSuministroTO> obtenerCasillasSuministro(String suministro, String empresa) {
        return gestionFacade.obtenerCasillasSuministro(suministro, empresa);
    }

    public void insertarSuministroCasilla(List<CasillaSuministro> sumicasillas) throws Exception {
        gestionFacade.insertarSuministroCasilla(sumicasillas);
    }

    public List<GrupoSuministrosTO> getListaGrupoSuministros() throws Exception {
        return gestionFacade.getListaGrupoSuministros();
    }

    public List<GrupoSuministrosTO> getListaGrupoSuministrosPadre() throws Exception {
        return this.gestionFacade.getListaGrupoSuministrosPadre();
    }

    public List<UnidadOrganizativaTO> getListaUnidOrganizativasDependencias() throws Exception {
        return gestionFacade.getListaUnidOrganizativasDependencias();
    }

    public List<AreaTO> getListaAreas() throws Exception {
        return gestionFacade.getListaAreas();
    }

    public boolean modificarComprobanteArchivo(int id_comprobante, byte[] archivo) throws Exception {
        return gestionFacade.modificarComprobanteArchivo(id_comprobante, archivo);
    }

    public String insertarUnidadOrganizativa(UnidadOrganizativa unidad) throws Exception {
        return gestionFacade.insertarUnidadOrganizativa(unidad);
    }

    public List<DetalleOrdenTO> listarOrdenesSuministros(ParametrosConsultaTO parametros) throws Exception {
        return gestionFacade.listarOrdenesSuministros(parametros);
    }

    public List<OrdenTO> listarOrdenesProveedores(ParametrosConsultaTO parametros) throws Exception {
        return gestionFacade.listarOrdenesProveedores(parametros);
    }

    public List<OrdenTO> listarOrdenesTotales(ParametrosConsultaTO parametros) throws Exception {
        return gestionFacade.listarOrdenesTotales(parametros);
    }

    public List<DetalleOrdenTO> listarOrdenesCuentas(ParametrosConsultaTO parametros) throws Exception {
        return gestionFacade.listarOrdenesCuentas(parametros);
    }

    public List<DetalleMovimientoTO> listarMovimientosSuministros(ParametrosConsultaTO parametros) throws Exception {
        return gestionFacade.listarMovimientosSuministros(parametros);
    }

    public List<DetalleMovimientoTO> listarMovimientosProveedores(ParametrosConsultaTO parametros) throws Exception {
        return gestionFacade.listarMovimientosProveedores(parametros);

    }

    public List<DetalleMovimientoTO> listarMovimientosTotales(ParametrosConsultaTO parametros) throws Exception {
        return gestionFacade.listarMovimientosTotales(parametros);
    }

    public List<DetalleMovimientoTO> listarMovimientoCuentas(ParametrosConsultaTO parametros) throws Exception {
        return gestionFacade.listarMovimientoCuentas(parametros);
    }

    public List<ComprobantePagoTO> getComprobantesOrden(String nro_orden) throws Exception {
        return gestionFacade.getComprobantesOrden(nro_orden);
    }

    public boolean insertarNotaIngresoFicticio(List<DetalleMovimientoTemporal> detalleMovimiento) throws Exception {
        return gestionFacade.insertarNotaIngresoFicticio(detalleMovimiento);
    }

    public List<DetalleMovimientoTemporalTO> getListaMovimientoTemporal(String ubicacion, String empresa, String ruc) throws Exception {
        return gestionFacade.getListaMovimientoTemporal(ubicacion, empresa, ruc);
    }

    public List<RegularizacionMovimientoTO> getMovimientosRegularizar(String cod_proveedor) throws Exception {
        return gestionFacade.getMovimientosRegularizar(cod_proveedor);
    }

    public boolean regularizaMovimientos(List<RegularizacionMovimientoTO> lista, String nro_orden) throws Exception {
        return gestionFacade.regularizaMovimientos(lista, nro_orden);
    }

    public boolean cerrarMes() throws Exception {
        return gestionFacade.cerrarMes();
    }

    public List<TipoTO> getListaTiposTabla(String tabla) throws Exception {
        return gestionFacade.getListaTiposTabla(tabla);
    }

    public List<TipoTablaTO> getComboTablaTipo() throws Exception {
        return gestionFacade.getComboTablaTipo();
    }

    public boolean insertarTipo(TipoTO tipoto) throws Exception {
        return gestionFacade.insertarTipo(tipoto);
    }

    public String eliminarMovimiento(String movimiento) throws Exception {
        return gestionFacade.eliminarMovimiento(movimiento);
    }

    public boolean eliminarTipo(TipoTO tipoto) throws Exception {
        return gestionFacade.eliminarTipo(tipoto);
    }

    public boolean eliminarSuministros(Suministros sumi) throws Exception {
        return gestionFacade.eliminarSuministros(sumi);
    }

    public void insertarZona(suministros.ejb30.entity.Zona zona) throws java.lang.Exception {
        gestionFacade.insertarZona(zona);
    }

    public void insertarAlmacen(suministros.ejb30.entity.Almacen alm) throws java.lang.Exception {
        gestionFacade.insertarAlmacen(alm);
    }

    public void insertarSubAlmacen(suministros.ejb30.entity.SubAlmacen sualm) throws java.lang.Exception {
        gestionFacade.insertarSubAlmacen(sualm);
    }

    public void modificarZona(suministros.ejb30.TO.ZonaTO zona) throws java.lang.Exception {
        gestionFacade.modificarZona(zona);
    }

    public void modificarAlmacen(suministros.ejb30.TO.AlmacenTO almacen) throws java.lang.Exception {
        gestionFacade.modificarAlmacen(almacen);
    }

    public void modificarUbicacion(suministros.ejb30.TO.SubAlmacenTO subalmacen) throws java.lang.Exception {
        gestionFacade.modificarUbicacion(subalmacen);
    }

    public void modificarParametro(Parametros para) throws Exception {
        gestionFacade.modificarParametro(para);
    }

    public java.lang.String insertarCargo(suministros.ejb30.entity.Cargo cargo) throws java.lang.Exception {
        return this.gestionFacade.insertarCargo(cargo);
    }

    public java.lang.String modificarCargo(suministros.ejb30.entity.Cargo cargo) throws java.lang.Exception {
        return this.gestionFacade.modificarCargo(cargo);
    }

    public java.lang.String insertarHistorialCargo(suministros.ejb30.entity.Cargo cargo) throws java.lang.Exception {
        return this.gestionFacade.insertarHistorialCargo(cargo);
    }

    public boolean insertarusuarioRol(suministros.ejb30.entity.HistorialCargos detallesa, suministros.ejb30.entity.HistorialCargos detallese) throws java.lang.Exception {
        return this.gestionFacade.insertarusuarioRol(detallesa, detallese);
    }

    public java.util.List<suministros.ejb30.TO.DetalleUsuarioCargoTO> obtenerDetalleUsuarioCargo(java.lang.String codigo) {
        return this.gestionFacade.obtenerDetalleUsuarioCargo(codigo);
    }

    public java.util.List<suministros.ejb30.TO.CargoTO> getListaCargos() throws java.lang.Exception {
        return this.gestionFacade.getListaCargos();
    }

    public List<ProveedorTO> listaCosechador() {
        return this.gestionFacade.listaCosechador();
    }

    public List<SuministroTO> getListaSuministrosMateriaPrima() throws Exception {
        return gestionFacade.getListaSuministrosMateriaPrima();
    }

    public String insertarIngresoCarga(Movimiento mov, DetalleMovimiento detalle, int tipo) throws Exception {
        return gestionFacade.insertarIngresoCarga(mov, detalle, tipo);
    }

    public MovimientoTO getMovimientoModificar(String codigo) throws Exception {
        return gestionFacade.getMovimientoModificar(codigo);
    }

    public java.util.List<suministros.ejb30.TO.DetalleMovimientoTO> getDetallesMovimientoModificar(String codigo) throws Exception {
        return gestionFacade.getDetallesMovimientoModificar(codigo);
    }

    public void modificarIngresoCarga(List<DetalleMovimiento> detalleMovimiento) throws Exception {
        gestionFacade.modificarIngresoCarga(detalleMovimiento);
    }

    public int getDatosMovimientoTamaño(String codigo, int tipo, int opcion, java.lang.String proy, java.lang.String unid, int tipoIn, java.lang.String empresa, String anio, int mes) throws Exception {
        return gestionFacade.getDatosMovimientoTamaño(codigo, tipo, opcion, proy, unid, tipoIn, empresa, anio, mes);
    }

    public void eliminarIngresoCarga(List<DetalleMovimiento> detalleMovimiento) throws Exception {
        gestionFacade.eliminarIngresoCarga(detalleMovimiento);

    }

    public TipoCambioDiario getTipoCambio(String fecha) throws Exception {
        return this.gestionFacade.getTipoCambio(fecha);
    }

    public ProveedorSuministro getDatosProveedorSuministro(ProveedorSuministro sumi) throws Exception {
        return this.gestionFacade.getDatosProveedorSuministro(sumi);

    }

    public boolean registrarProveedorSuministro(ProveedorSuministro sumi) throws Exception {
        return this.gestionFacade.registrarProveedorSuministro(sumi);
    }

    public List<ProveedorSuministroTO> listaProveedorSuministro() {
        return this.gestionFacade.listaProveedorSuministro();
    }

    public boolean insertaTipoCambioDiario(TipoCambioDiario cambio) throws Exception {
        return gestionFacade.insertaTipoCambioDiario(cambio);
    }

    public List<TipoCambioDiario> getTipoCambioDiario(String anio, String mes) throws Exception {
        return gestionFacade.getTipoCambioDiario(anio,mes);
    }

    public void ajustarIngresoCarga(List<DetalleMovimiento> detalleMovimiento) throws Exception {
        gestionFacade.ajustarIngresoCarga(detalleMovimiento);
    }

    public List<CosteoDiario> getCosteoDiario() throws Exception {
        return gestionFacade.getCosteoDiario();
    }

    public List<ElementoCosto> getListaElementoCosto() throws Exception {
        return gestionFacade.getListaElementoCosto();
    }

    public List<ElementoCostoTO> getListaElementosCosto() throws Exception {
        return gestionFacade.getListaElementosCosto();
    }

    public boolean insertaCosteoDiario(CosteoDiario costeo) throws Exception {
        return gestionFacade.insertaCosteoDiario(costeo);
    }

    public void ajustarIngresoTodos(List<DetalleMovimiento> detalleMovimiento) throws Exception {
        gestionFacade.ajustarIngresoTodos(detalleMovimiento);

    }

    public void ajustarIngresoSuministro(String codigo, String ano, String mes) throws Exception {
        gestionFacade.ajustarIngresoSuministro(codigo, ano, mes);
    }

    public java.util.List<suministros.ejb30.TO.DetalleMovimientoTO> getDetallesMovimientoAjustar(String anio, String mes) throws Exception {
        return gestionFacade.getDetallesMovimientoAjustar(anio, mes);
    }

    public List<CosteoDiario> getCosteoDiarioFechas(Date fecha_ini, Date fecha_fin) throws Exception {
        return gestionFacade.getCosteoDiarioFechas(fecha_ini, fecha_fin);
    }

    public List<DiasPagoMesTO> getPagoMes(String anio, String mes, String dni) throws Exception {
        return gestionFacade.getPagoMes(anio, mes, dni);
    }

    public boolean actualizarPagoMes(List<DiasPagoMesTO> lista) throws Exception {
        return gestionFacade.actualizarPagoMes(lista);
    }

    public BigDecimal getMontoImpuesto(Integer tipo_plantilla, BigDecimal sub_total) throws Exception {
        return gestionFacade.getMontoImpuesto(tipo_plantilla, sub_total);
    }

    public java.util.List<suministros.ejb30.TO.TipoTO> getConsultarTipoCambioComprobante(Integer orden) throws Exception {
        return gestionFacade.getConsultarTipoCambioComprobante(orden);
    }

    public boolean eliminaCosteoDiario(int id_costeo) throws Exception {
        return gestionFacade.eliminaCosteoDiario(id_costeo);
    }

    public List<ComprobantePagoTO> getDatosOrdenComprobante(String codigo) throws Exception {
        return gestionFacade.getDatosOrdenComprobante(codigo);
    }

    public List<ImpuestoTO> getListaImpuestos() throws Exception {
        return gestionFacade.getListaImpuestos();
    }

    public void ajustarIngreso(String ano, String mes) throws Exception {
        gestionFacade.ajustarIngreso(ano, mes);
    }

    public boolean operaImpuesto(Impuesto impuesto,DetallePlantillaImpuesto dpi) throws Exception {
        return gestionFacade.operaImpuesto(impuesto,dpi);
    }

    public boolean eliminaImpuesto(int id_impuesto) throws Exception {
        return gestionFacade.eliminaImpuesto(id_impuesto);
    }

    public List<AuxiliarCargarAsistenciaDiaria> importarAsistenciasDiarias(List<AuxiliarCargarAsistenciaDiaria> asistencias)
            throws Exception{
        return gestionFacade.insertarAsistenciaMigracion(asistencias);
    }

    public List<AsistenciaTO> getAsistenciaEntreFechas(String fIni,String fFin) throws Exception{
        return gestionFacade.getAsistenciaEntreFechas(fIni, fFin);
    }

    public boolean finalizarOrden(String nro_orden) throws Exception {
        return gestionFacade.finalizarOrden(nro_orden);
    }

    public List<MesTO> getListaMesCambio() throws Exception {
        return gestionFacade.getListaMesCambio();
    }

    public List<AnoTO> getListaAnosCambio() throws Exception {
        return gestionFacade.getListaAnosCambio();
    }

    public boolean modificaComprobante(ComprobantePagoTO comprobante) throws Exception {
        return gestionFacade.modificaComprobante(comprobante);
    }

    

}
